package com.webex.ta.hydra.core;

import com.webex.ta.hydra.core.engine.HydraThread;

/**
 * Created by IntelliJ IDEA.
 * User: vegaz
 * Date: 2010-8-27
 * Time: 10:11:46
 * To change this template use File | Settings | File Templates.
 */
public interface TestListener {

    public void beforeTestStart();
    /**
	 * Called just before the start of the test from the main engine thread.
	 *
	 * This is before the test elements are cloned.
	 *
	 * Note that not all the test
	 * variables will have been set up at this point.
	 *
	 */
	public void testStarted(HydraThread source);

    public void testPaused(HydraThread source);

    public void testResumed(HydraThread source);

	/**
	 * Called once for all threads after the end of a test.
	 *
	 * This will use the same element instances as at the start of the test.
	 *
	 */
	public void testEnded(HydraThread source);

	/**
	 * Each time through a Thread Group's test script, an iteration event is
	 * fired for each thread.
	 *
	 * This will be after the test elements have been cloned, so in general
	 * the instance will not be the same as the ones the start/end methods call.
	 *
	 * @param event
	 */
//	public void testIterationStart(LoopIterationEvent event);
}
